home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1998-04-09  |  95.6 KB  |  3,154 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime Image Compression Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    QuickTime 3.0
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  19. __IMAGECOMPRESSION__ SET 1
  20.  
  21.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  22.     include 'MacTypes.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  28.     include 'QDOffscreen.a'
  29.     ENDIF
  30.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  31.     include 'Components.a'
  32.     ENDIF
  33.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  34.     include 'StandardFile.a'
  35.     ENDIF
  36.  
  37. MatrixRecord            RECORD 0
  38. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  39. sizeof                     EQU *                    ; size:   $24 (36)
  40.                         ENDR
  41. ; typedef struct MatrixRecord *            MatrixRecordPtr
  42.  
  43.  
  44. FixedPoint                RECORD 0
  45. x                         ds.l    1                ; offset: $0 (0)
  46. y                         ds.l    1                ; offset: $4 (4)
  47. sizeof                     EQU *                    ; size:   $8 (8)
  48.                         ENDR
  49.  
  50. FixedRect                RECORD 0
  51. left                     ds.l    1                ; offset: $0 (0)
  52. top                         ds.l    1                ; offset: $4 (4)
  53. right                     ds.l    1                ; offset: $8 (8)
  54. bottom                     ds.l    1                ; offset: $C (12)
  55. sizeof                     EQU *                    ; size:   $10 (16)
  56.                         ENDR
  57.  
  58. kRawCodecType                    EQU        'raw '
  59. kCinepakCodecType                EQU        'cvid'
  60. kGraphicsCodecType                EQU        'smc '
  61. kAnimationCodecType                EQU        'rle '
  62. kVideoCodecType                    EQU        'rpza'
  63. kComponentVideoCodecType        EQU        'yuv2'
  64. kJPEGCodecType                    EQU        'jpeg'
  65. kMotionJPEGACodecType            EQU        'mjpa'
  66. kMotionJPEGBCodecType            EQU        'mjpb'
  67. kSGICodecType                    EQU        '.SGI'
  68. kPlanarRGBCodecType                EQU        '8BPS'
  69. kMacPaintCodecType                EQU        'PNTG'
  70. kGIFCodecType                    EQU        'gif '
  71. kPhotoCDCodecType                EQU        'kpcd'
  72. kQuickDrawGXCodecType            EQU        'qdgx'
  73. kAVRJPEGCodecType                EQU        'avr '
  74. kOpenDMLJPEGCodecType            EQU        'dmb1'
  75. kBMPCodecType                    EQU        'WRLE'
  76. kWindowsRawCodecType            EQU        'WRAW'
  77. kVectorCodecType                EQU        'path'
  78. kQuickDrawCodecType                EQU        'qdrw'
  79. kWaterRippleCodecType            EQU        'ripl'
  80. kFireCodecType                    EQU        'fire'
  81. kCloudCodecType                    EQU        'clou'
  82. kH261CodecType                    EQU        'h261'
  83. kH263CodecType                    EQU        'h263'
  84. kDVCNTSCCodecType                EQU        'dvc '
  85. kDVCPALCodecType                EQU        'dvcp'
  86. kDVCProNTSCCodecType            EQU        'dvpn'
  87. kDVCProPALCodecType                EQU        'dvpp'
  88. kBaseCodecType                    EQU        'base'
  89. kFLCCodecType                    EQU        'flic'
  90. kTargaCodecType                    EQU        'tga '                ;    NOTE: despite what might seem obvious from the two constants
  91.                                                             ;    below and their names, they really are correct. 'yuvu' really 
  92.                                                             ;    does mean signed, and 'yuvs' really does mean unsigned. Really. 
  93. kComponentVideoSigned            EQU        'yuvu'
  94. kComponentVideoUnsigned            EQU        'yuvs'
  95. kCMYKCodecType                    EQU        'cmyk'
  96. kMicrosoftVideo1CodecType        EQU        'msvc'
  97. kSorensonCodecType                EQU        'SVQ1'
  98. kIndeo4CodecType                EQU        'IV41'
  99.  
  100. ;  one source effects 
  101.  
  102. kBlurImageFilterType            EQU        'blur'
  103. kSharpenImageFilterType            EQU        'shrp'
  104. kEdgeDetectImageFilterType        EQU        'edge'
  105. kEmbossImageFilterType            EQU        'embs'
  106. kConvolveImageFilterType        EQU        'genk'
  107. kAlphaGainImageFilterType        EQU        'gain'
  108. kRGBColorBalanceImageFilterType    EQU        'rgbb'
  109. kHSLColorBalanceImageFilterType    EQU        'hslb'
  110. kColorSyncImageFilterType        EQU        'sync'
  111. kFilmNoiseImageFilterType        EQU        'fmns'
  112. kSolarizeImageFilterType        EQU        'solr'
  113. kColorTintImageFilterType        EQU        'tint'
  114. ;  two source effects 
  115.  
  116. kAlphaCompositorTransitionType    EQU        'blnd'
  117. kCrossFadeTransitionType        EQU        'dslv'
  118. kChromaKeyTransitionType        EQU        'ckey'
  119. kImplodeTransitionType            EQU        'mplo'
  120. kExplodeTransitionType            EQU        'xplo'
  121. kGradientTransitionType            EQU        'matt'
  122. kPushTransitionType                EQU        'push'
  123. kSlideTransitionType            EQU        'slid'
  124. kWipeTransitionType                EQU        'smpt'
  125. kIrisTransitionType                EQU        'smp2'
  126. kRadialTransitionType            EQU        'smp3'
  127. kMatrixTransitionType            EQU        'smp4'
  128. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  129.  
  130. codecInfoDoes1                    EQU        $00000001            ; codec can work with 1-bit pixels 
  131. codecInfoDoes2                    EQU        $00000002            ; codec can work with 2-bit pixels 
  132. codecInfoDoes4                    EQU        $00000004            ; codec can work with 4-bit pixels 
  133. codecInfoDoes8                    EQU        $00000008            ; codec can work with 8-bit pixels 
  134. codecInfoDoes16                    EQU        $00000010            ; codec can work with 16-bit pixels 
  135. codecInfoDoes32                    EQU        $00000020            ; codec can work with 32-bit pixels 
  136. codecInfoDoesDither                EQU        $00000040            ; codec can do ditherMode 
  137. codecInfoDoesStretch            EQU        $00000080            ; codec can stretch to arbitrary sizes 
  138. codecInfoDoesShrink                EQU        $00000100            ; codec can shrink to arbitrary sizes 
  139. codecInfoDoesMask                EQU        $00000200            ; codec can mask to clipping regions 
  140. codecInfoDoesTemporal            EQU        $00000400            ; codec can handle temporal redundancy 
  141. codecInfoDoesDouble                EQU        $00000800            ; codec can stretch to double size exactly 
  142. codecInfoDoesQuad                EQU        $00001000            ; codec can stretch to quadruple size exactly 
  143. codecInfoDoesHalf                EQU        $00002000            ; codec can shrink to half size 
  144. codecInfoDoesQuarter            EQU        $00004000            ; codec can shrink to quarter size 
  145. codecInfoDoesRotate                EQU        $00008000            ; codec can rotate on decompress 
  146. codecInfoDoesHorizFlip            EQU        $00010000            ; codec can flip horizontally on decompress 
  147. codecInfoDoesVertFlip            EQU        $00020000            ; codec can flip vertically on decompress 
  148. codecInfoHasEffectParameterList    EQU        $00040000            ; codec implements get effects parameter list call, once was codecInfoDoesSkew 
  149. codecInfoDoesBlend                EQU        $00080000            ; codec can blend on decompress 
  150. codecInfoDoesWarp                EQU        $00100000            ; codec can warp arbitrarily on decompress 
  151. codecInfoDoesRecompress            EQU        $00200000            ; codec can recompress image without accumulating errors 
  152. codecInfoDoesSpool                EQU        $00400000            ; codec can spool image data 
  153. codecInfoDoesRateConstrain        EQU        $00800000            ; codec can data rate constrain 
  154.  
  155.  
  156. codecInfoDepth1                    EQU        $00000001            ; compressed data at 1 bpp depth available 
  157. codecInfoDepth2                    EQU        $00000002            ; compressed data at 2 bpp depth available 
  158. codecInfoDepth4                    EQU        $00000004            ; compressed data at 4 bpp depth available 
  159. codecInfoDepth8                    EQU        $00000008            ; compressed data at 8 bpp depth available 
  160. codecInfoDepth16                EQU        $00000010            ; compressed data at 16 bpp depth available 
  161. codecInfoDepth32                EQU        $00000020            ; compressed data at 32 bpp depth available 
  162. codecInfoDepth24                EQU        $00000040            ; compressed data at 24 bpp depth available 
  163. codecInfoDepth33                EQU        $00000080            ; compressed data at 1 bpp monochrome depth  available 
  164. codecInfoDepth34                EQU        $00000100            ; compressed data at 2 bpp grayscale depth available 
  165. codecInfoDepth36                EQU        $00000200            ; compressed data at 4 bpp grayscale depth available 
  166. codecInfoDepth40                EQU        $00000400            ; compressed data at 8 bpp grayscale depth available 
  167. codecInfoStoresClut                EQU        $00000800            ; compressed data can have custom cluts 
  168. codecInfoDoesLossless            EQU        $00001000            ; compressed data can be stored in lossless format 
  169. codecInfoSequenceSensitive        EQU        $00002000            ; compressed data is sensitive to out of sequence decoding 
  170.  
  171. ;  input sequence flags
  172.  
  173. codecFlagUseImageBuffer            EQU        $00000001            ; decompress
  174. codecFlagUseScreenBuffer        EQU        $00000002            ; decompress
  175. codecFlagUpdatePrevious            EQU        $00000004            ; compress
  176. codecFlagNoScreenUpdate            EQU        $00000008            ; decompress
  177. codecFlagWasCompressed            EQU        $00000010            ; compress
  178. codecFlagDontOffscreen            EQU        $00000020            ; decompress
  179. codecFlagUpdatePreviousComp        EQU        $00000040            ; compress
  180. codecFlagForceKeyFrame            EQU        $00000080            ; compress
  181. codecFlagOnlyScreenUpdate        EQU        $00000100            ; decompress
  182. codecFlagLiveGrab                EQU        $00000200            ; compress
  183. codecFlagDontUseNewImageBuffer    EQU        $00000400            ; decompress
  184. codecFlagInterlaceUpdate        EQU        $00000800            ; decompress
  185. codecFlagCatchUpDiff            EQU        $00001000            ; decompress
  186. codecFlagSupportDisable            EQU        $00002000            ; decompress
  187. codecFlagReenable                EQU        $00004000            ; decompress
  188. ;  output sequence flags
  189.  
  190. codecFlagOutUpdateOnDataSourceChange EQU $00000400
  191. codecFlagSequenceSensitive        EQU        $00000800
  192. codecFlagOutUpdateOnTimeChange    EQU        $00001000
  193. codecFlagImageBufferNotSourceImage EQU    $00002000
  194. codecFlagUsedNewImageBuffer        EQU        $00004000
  195. codecFlagUsedImageBuffer        EQU        $00008000
  196.  
  197.  
  198.  
  199.  
  200.                                                             ; The minimum data size for spooling in or out data 
  201. codecMinimumDataSize            EQU        32768
  202.  
  203.  
  204.  
  205. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  206. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  207. ; typedef Component                     CompressorComponent
  208.  
  209. ; typedef Component                     DecompressorComponent
  210.  
  211. ; typedef Component                     CodecComponent
  212.  
  213.  
  214. anyCodec                        EQU        0                    ; take first working codec of given type 
  215. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  216. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  217. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  218. ; typedef OSType                         CodecType
  219.  
  220. ; typedef unsigned short                 CodecFlags
  221.  
  222. ; typedef unsigned long                 CodecQ
  223.  
  224.  
  225. codecLosslessQuality            EQU        $00000400
  226. codecMaxQuality                    EQU        $000003FF
  227. codecMinQuality                    EQU        $00000000
  228. codecLowQuality                    EQU        $00000100
  229. codecNormalQuality                EQU        $00000200
  230. codecHighQuality                EQU        $00000300
  231.  
  232. codecLockBitsShieldCursor        EQU        $01                    ; shield cursor 
  233.  
  234. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  235. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  236. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  237. codecCompletionWentOffscreen    EQU        $08                    ; codec used offscreen buffer 
  238. codecCompletionUnlockBits        EQU        $10                    ; on dest complete, call ICMSequenceUnlockBits 
  239. codecCompletionForceChainFlush    EQU        $20                    ; ICM needs to flush the whole chain 
  240. codecCompletionDropped            EQU        $40                    ; codec decided to drop this frame 
  241.  
  242. codecProgressOpen                EQU        0
  243. codecProgressUpdatePercent        EQU        1
  244. codecProgressClose                EQU        2
  245. ; typedef void *                        ICMCursorNotify
  246.  
  247. ; typedef long                             ImageSequence
  248.  
  249. ; typedef long                             ImageSequenceDataSource
  250.  
  251. ; typedef long                             ImageTranscodeSequence
  252.  
  253. ; typedef long                             ImageFieldSequence
  254.  
  255. ICMProgressProcRecord    RECORD 0
  256. progressProc             ds.l    1                ; offset: $0 (0)
  257. progressRefCon             ds.l    1                ; offset: $4 (4)
  258. sizeof                     EQU *                    ; size:   $8 (8)
  259.                         ENDR
  260. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  261.  
  262. ICMCompletionProcRecord    RECORD 0
  263. completionProc             ds.l    1                ; offset: $0 (0)
  264. completionRefCon         ds.l    1                ; offset: $4 (4)
  265. sizeof                     EQU *                    ; size:   $8 (8)
  266.                         ENDR
  267. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  268.  
  269. ICMDataProcRecord        RECORD 0
  270. dataProc                 ds.l    1                ; offset: $0 (0)
  271. dataRefCon                 ds.l    1                ; offset: $4 (4)
  272. sizeof                     EQU *                    ; size:   $8 (8)
  273.                         ENDR
  274. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  275.  
  276. ICMFlushProcRecord        RECORD 0
  277. flushProc                 ds.l    1                ; offset: $0 (0)
  278. flushRefCon                 ds.l    1                ; offset: $4 (4)
  279. sizeof                     EQU *                    ; size:   $8 (8)
  280.                         ENDR
  281. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  282.  
  283. ICMAlignmentProcRecord    RECORD 0
  284. alignmentProc             ds.l    1                ; offset: $0 (0)
  285. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  286. sizeof                     EQU *                    ; size:   $8 (8)
  287.                         ENDR
  288. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  289.  
  290. DataRateParams            RECORD 0
  291. dataRate                 ds.l    1                ; offset: $0 (0)
  292. dataOverrun                 ds.l    1                ; offset: $4 (4)
  293. frameDuration             ds.l    1                ; offset: $8 (8)
  294. keyFrameRate             ds.l    1                ; offset: $C (12)
  295. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  296. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  297. sizeof                     EQU *                    ; size:   $18 (24)
  298.                         ENDR
  299. ; typedef struct DataRateParams *        DataRateParamsPtr
  300.  
  301. ImageDescription        RECORD 0
  302. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  303. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  304. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  305. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  306. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  307. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  308. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  309. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  310. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  311. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  312. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  313. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  314. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  315. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  316. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  317. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  318. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  319. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  320. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  321. sizeof                     EQU *                    ; size:   $56 (86)
  322.                         ENDR
  323. ; typedef struct ImageDescription *        ImageDescriptionPtr
  324.  
  325. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  326.  
  327. CodecInfo                RECORD 0
  328. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  329. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  330. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  331. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  332. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  333. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  334. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  335. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  336. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  337. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  338. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  339. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  340. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  341. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  342. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  343. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  344. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  345. privateData                 ds.l    1                ; offset: $44 (68)
  346. sizeof                     EQU *                    ; size:   $48 (72)
  347.                         ENDR
  348. CodecNameSpec            RECORD 0
  349. codec                     ds.l    1                ; offset: $0 (0)
  350. cType                     ds.l    1                ; offset: $4 (4)
  351. typeName                 ds        Str31            ; offset: $8 (8)
  352. name                     ds.l    1                ; offset: $28 (40)
  353. sizeof                     EQU *                    ; size:   $2C (44)
  354.                         ENDR
  355. CodecNameSpecList        RECORD 0
  356. count                     ds.w    1                ; offset: $0 (0)
  357. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  358. sizeof                     EQU *                    ; size:   $2E (46)
  359.                         ENDR
  360. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  361.  
  362.  
  363. defaultDither                    EQU        0
  364. forceDither                        EQU        1
  365. suppressDither                    EQU        2
  366. useColorMatching                EQU        4
  367.  
  368. callStdBits                        EQU        1
  369. callOldBits                        EQU        2
  370. noDefaultOpcodes                EQU        4
  371.  
  372. graphicsModeStraightAlpha        EQU        256
  373. graphicsModePreWhiteAlpha        EQU        257
  374. graphicsModePreBlackAlpha        EQU        258
  375. graphicsModeComposition            EQU        259
  376. graphicsModeStraightAlphaBlend    EQU        260
  377. graphicsModePreMulColorAlpha    EQU        261
  378.  
  379. evenField1ToEvenFieldOut        EQU        $01
  380. evenField1ToOddFieldOut            EQU        $02
  381. oddField1ToEvenFieldOut            EQU        $04
  382. oddField1ToOddFieldOut            EQU        $08
  383. evenField2ToEvenFieldOut        EQU        $10
  384. evenField2ToOddFieldOut            EQU        $20
  385. oddField2ToEvenFieldOut            EQU        $40
  386. oddField2ToOddFieldOut            EQU        $80
  387.  
  388. icmFrameTimeHasVirtualStartTimeAndDuration EQU $01
  389. ICMFrameTimeRecord        RECORD 0
  390. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  391. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  392. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  393. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  394. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  395. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  396. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  397. flags                     ds.l    1                ; offset: $20 (32)
  398. virtualStartTime         ds        wide            ; offset: $24 (36)        ;  conceptual start time
  399. virtualDuration             ds.l    1                ; offset: $2C (44)        ;  conceptual duration
  400. sizeof                     EQU *                    ; size:   $30 (48)
  401.                         ENDR
  402. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  403.  
  404.  
  405. ;
  406. ; pascal OSErr CodecManagerVersion(long *version)
  407. ;
  408.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  409.         Macro
  410.         _CodecManagerVersion
  411.             moveq               #0,D0
  412.             dc.w                $AAA3
  413.         EndM
  414.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  415.         IMPORT_CFM_FUNCTION CodecManagerVersion
  416.     ENDIF
  417.  
  418. ;
  419. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  420. ;
  421.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  422.         Macro
  423.         _GetCodecNameList
  424.             moveq               #1,D0
  425.             dc.w                $AAA3
  426.         EndM
  427.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  428.         IMPORT_CFM_FUNCTION GetCodecNameList
  429.     ENDIF
  430.  
  431. ;
  432. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  433. ;
  434.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  435.         Macro
  436.         _DisposeCodecNameList
  437.             moveq               #15,D0
  438.             dc.w                $AAA3
  439.         EndM
  440.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  441.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  442.     ENDIF
  443.  
  444. ;
  445. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  446. ;
  447.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  448.         Macro
  449.         _GetCodecInfo
  450.             moveq               #3,D0
  451.             dc.w                $AAA3
  452.         EndM
  453.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  454.         IMPORT_CFM_FUNCTION GetCodecInfo
  455.     ENDIF
  456.  
  457. ;
  458. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  459. ;
  460.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  461.         Macro
  462.         _GetMaxCompressionSize
  463.             moveq               #4,D0
  464.             dc.w                $AAA3
  465.         EndM
  466.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  467.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  468.     ENDIF
  469.  
  470. ;
  471. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  472. ;
  473.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  474.         Macro
  475.         _GetCSequenceMaxCompressionSize
  476.             move.l              #$000C0074,D0
  477.             dc.w                $AAA3
  478.         EndM
  479.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  480.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  481.     ENDIF
  482.  
  483. ;
  484. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  485. ;
  486.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  487.         Macro
  488.         _GetCompressionTime
  489.             moveq               #5,D0
  490.             dc.w                $AAA3
  491.         EndM
  492.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  493.         IMPORT_CFM_FUNCTION GetCompressionTime
  494.     ENDIF
  495.  
  496. ;
  497. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  498. ;
  499.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  500.         Macro
  501.         _CompressImage
  502.             moveq               #6,D0
  503.             dc.w                $AAA3
  504.         EndM
  505.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  506.         IMPORT_CFM_FUNCTION CompressImage
  507.     ENDIF
  508.  
  509. ;
  510. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  511. ;
  512.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  513.         Macro
  514.         _FCompressImage
  515.             moveq               #7,D0
  516.             dc.w                $AAA3
  517.         EndM
  518.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  519.         IMPORT_CFM_FUNCTION FCompressImage
  520.     ENDIF
  521.  
  522. ;
  523. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  524. ;
  525.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  526.         Macro
  527.         _DecompressImage
  528.             moveq               #8,D0
  529.             dc.w                $AAA3
  530.         EndM
  531.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  532.         IMPORT_CFM_FUNCTION DecompressImage
  533.     ENDIF
  534.  
  535. ;
  536. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  537. ;
  538.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  539.         Macro
  540.         _FDecompressImage
  541.             moveq               #9,D0
  542.             dc.w                $AAA3
  543.         EndM
  544.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  545.         IMPORT_CFM_FUNCTION FDecompressImage
  546.     ENDIF
  547.  
  548. ;
  549. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  550. ;
  551.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  552.         Macro
  553.         _CompressSequenceBegin
  554.             moveq               #10,D0
  555.             dc.w                $AAA3
  556.         EndM
  557.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  558.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  559.     ENDIF
  560.  
  561. ;
  562. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  563. ;
  564.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  565.         Macro
  566.         _CompressSequenceFrame
  567.             moveq               #11,D0
  568.             dc.w                $AAA3
  569.         EndM
  570.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  571.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  572.     ENDIF
  573.  
  574. ;
  575. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  576. ;
  577.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  578.         Macro
  579.         _DecompressSequenceBegin
  580.             moveq               #13,D0
  581.             dc.w                $AAA3
  582.         EndM
  583.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  584.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  585.     ENDIF
  586.  
  587. ;
  588. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  589. ;
  590.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  591.         Macro
  592.         _DecompressSequenceBeginS
  593.             move.l              #$0030005D,D0
  594.             dc.w                $AAA3
  595.         EndM
  596.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  597.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  598.     ENDIF
  599.  
  600. ;
  601. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  602. ;
  603.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  604.         Macro
  605.         _DecompressSequenceFrame
  606.             moveq               #14,D0
  607.             dc.w                $AAA3
  608.         EndM
  609.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  610.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  611.     ENDIF
  612.  
  613. ;
  614. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  615. ;
  616.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  617.         Macro
  618.         _DecompressSequenceFrameS
  619.             move.l              #$00160047,D0
  620.             dc.w                $AAA3
  621.         EndM
  622.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  623.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  624.     ENDIF
  625.  
  626. ;
  627. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  628. ;
  629.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  630.         Macro
  631.         _DecompressSequenceFrameWhen
  632.             move.l              #$001A005E,D0
  633.             dc.w                $AAA3
  634.         EndM
  635.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  636.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  637.     ENDIF
  638.  
  639. ;
  640. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  641. ;
  642.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  643.         Macro
  644.         _CDSequenceFlush
  645.             move.l              #$0004005F,D0
  646.             dc.w                $AAA3
  647.         EndM
  648.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  649.         IMPORT_CFM_FUNCTION CDSequenceFlush
  650.     ENDIF
  651.  
  652. ;
  653. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  654. ;
  655.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  656.         Macro
  657.         _SetDSequenceMatrix
  658.             moveq               #16,D0
  659.             dc.w                $AAA3
  660.         EndM
  661.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  662.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  663.     ENDIF
  664.  
  665. ;
  666. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  667. ;
  668.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  669.         Macro
  670.         _SetDSequenceMatte
  671.             moveq               #17,D0
  672.             dc.w                $AAA3
  673.         EndM
  674.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  675.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  676.     ENDIF
  677.  
  678. ;
  679. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  680. ;
  681.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  682.         Macro
  683.         _SetDSequenceMask
  684.             moveq               #18,D0
  685.             dc.w                $AAA3
  686.         EndM
  687.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  688.         IMPORT_CFM_FUNCTION SetDSequenceMask
  689.     ENDIF
  690.  
  691. ;
  692. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  693. ;
  694.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  695.         Macro
  696.         _SetDSequenceTransferMode
  697.             moveq               #19,D0
  698.             dc.w                $AAA3
  699.         EndM
  700.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  701.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  702.     ENDIF
  703.  
  704. ;
  705. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  706. ;
  707.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  708.         Macro
  709.         _SetDSequenceDataProc
  710.             moveq               #20,D0
  711.             dc.w                $AAA3
  712.         EndM
  713.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  714.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  715.     ENDIF
  716.  
  717. ;
  718. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  719. ;
  720.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  721.         Macro
  722.         _SetDSequenceAccuracy
  723.             moveq               #52,D0
  724.             dc.w                $AAA3
  725.         EndM
  726.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  727.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  728.     ENDIF
  729.  
  730. ;
  731. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  732. ;
  733.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  734.         Macro
  735.         _SetDSequenceSrcRect
  736.             moveq               #53,D0
  737.             dc.w                $AAA3
  738.         EndM
  739.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  740.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  741.     ENDIF
  742.  
  743.  
  744. ;
  745. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  746. ;
  747.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  748.         Macro
  749.         _GetDSequenceImageBuffer
  750.             moveq               #21,D0
  751.             dc.w                $AAA3
  752.         EndM
  753.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  754.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  755.     ENDIF
  756.  
  757. ;
  758. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  759. ;
  760.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  761.         Macro
  762.         _GetDSequenceScreenBuffer
  763.             moveq               #22,D0
  764.             dc.w                $AAA3
  765.         EndM
  766.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  767.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  768.     ENDIF
  769.  
  770. ;
  771. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  772. ;
  773.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  774.         Macro
  775.         _SetCSequenceQuality
  776.             moveq               #23,D0
  777.             dc.w                $AAA3
  778.         EndM
  779.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  780.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  781.     ENDIF
  782.  
  783. ;
  784. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  785. ;
  786.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  787.         Macro
  788.         _SetCSequencePrev
  789.             moveq               #24,D0
  790.             dc.w                $AAA3
  791.         EndM
  792.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  793.         IMPORT_CFM_FUNCTION SetCSequencePrev
  794.     ENDIF
  795.  
  796. ;
  797. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  798. ;
  799.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  800.         Macro
  801.         _SetCSequenceFlushProc
  802.             moveq               #51,D0
  803.             dc.w                $AAA3
  804.         EndM
  805.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  806.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  807.     ENDIF
  808.  
  809. ;
  810. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  811. ;
  812.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  813.         Macro
  814.         _SetCSequenceKeyFrameRate
  815.             moveq               #54,D0
  816.             dc.w                $AAA3
  817.         EndM
  818.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  819.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  820.     ENDIF
  821.  
  822. ;
  823. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  824. ;
  825.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  826.         Macro
  827.         _GetCSequenceKeyFrameRate
  828.             move.l              #$0008004B,D0
  829.             dc.w                $AAA3
  830.         EndM
  831.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  832.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  833.     ENDIF
  834.  
  835. ;
  836. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  837. ;
  838.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  839.         Macro
  840.         _GetCSequencePrevBuffer
  841.             moveq               #25,D0
  842.             dc.w                $AAA3
  843.         EndM
  844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  845.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  846.     ENDIF
  847.  
  848. ;
  849. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  850. ;
  851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  852.         Macro
  853.         _CDSequenceBusy
  854.             moveq               #26,D0
  855.             dc.w                $AAA3
  856.         EndM
  857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  858.         IMPORT_CFM_FUNCTION CDSequenceBusy
  859.     ENDIF
  860.  
  861. ;
  862. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  863. ;
  864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  865.         Macro
  866.         _CDSequenceEnd
  867.             moveq               #27,D0
  868.             dc.w                $AAA3
  869.         EndM
  870.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  871.         IMPORT_CFM_FUNCTION CDSequenceEnd
  872.     ENDIF
  873.  
  874. ;
  875. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  876. ;
  877.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  878.         Macro
  879.         _CDSequenceEquivalentImageDescription
  880.             move.l              #$000C0065,D0
  881.             dc.w                $AAA3
  882.         EndM
  883.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  884.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  885.     ENDIF
  886.  
  887. ;
  888. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  889. ;
  890.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  891.         Macro
  892.         _GetCompressedImageSize
  893.             moveq               #28,D0
  894.             dc.w                $AAA3
  895.         EndM
  896.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  897.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  898.     ENDIF
  899.  
  900. ;
  901. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  902. ;
  903.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  904.         Macro
  905.         _GetSimilarity
  906.             moveq               #29,D0
  907.             dc.w                $AAA3
  908.         EndM
  909.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  910.         IMPORT_CFM_FUNCTION GetSimilarity
  911.     ENDIF
  912.  
  913.  
  914. kImageDescriptionSampleFormat    EQU        'idfm'                ; image description extension describing sample format
  915. kImageDescriptionClassicAtomFormat EQU    'atom'                ; sample contains classic atom structure (ie, GX codec and Curve codec)
  916. kImageDescriptionQTAtomFormat    EQU        'qtat'                ; sample contains QT atom structure
  917. kImageDescriptionEffectDataFormat EQU    'fxat'                ; sample describes an effect (as QTAtoms)
  918. kImageDescriptionPrivateDataFormat EQU    'priv'                ; sample is in a private codec specific format
  919. kImageDescriptionAlternateCodec    EQU        'subs'                ; image description extension containing the OSType of a substitute codec should the main codec not be available
  920. ;
  921. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  922. ;
  923.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  924.         Macro
  925.         _GetImageDescriptionCTable
  926.             moveq               #30,D0
  927.             dc.w                $AAA3
  928.         EndM
  929.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  930.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  931.     ENDIF
  932.  
  933. ;
  934. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  935. ;
  936.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  937.         Macro
  938.         _SetImageDescriptionCTable
  939.             moveq               #31,D0
  940.             dc.w                $AAA3
  941.         EndM
  942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  943.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  944.     ENDIF
  945.  
  946. ;
  947. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  948. ;
  949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  950.         Macro
  951.         _GetImageDescriptionExtension
  952.             moveq               #32,D0
  953.             dc.w                $AAA3
  954.         EndM
  955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  956.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  957.     ENDIF
  958.  
  959. ;
  960. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  961. ;
  962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  963.         Macro
  964.         _AddImageDescriptionExtension
  965.             moveq               #33,D0
  966.             dc.w                $AAA3
  967.         EndM
  968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  969.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  970.     ENDIF
  971.  
  972. ;
  973. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  974. ;
  975.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  976.         Macro
  977.         _RemoveImageDescriptionExtension
  978.             move.l              #$000C003A,D0
  979.             dc.w                $AAA3
  980.         EndM
  981.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  982.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  983.     ENDIF
  984.  
  985. ;
  986. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  987. ;
  988.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  989.         Macro
  990.         _CountImageDescriptionExtensionType
  991.             move.l              #$000C003B,D0
  992.             dc.w                $AAA3
  993.         EndM
  994.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  995.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  996.     ENDIF
  997.  
  998. ;
  999. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  1000. ;
  1001.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1002.         Macro
  1003.         _GetNextImageDescriptionExtensionType
  1004.             move.l              #$0008003C,D0
  1005.             dc.w                $AAA3
  1006.         EndM
  1007.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1008.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  1009.     ENDIF
  1010.  
  1011. ;
  1012. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  1013. ;
  1014.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1015.         Macro
  1016.         _FindCodec
  1017.             moveq               #35,D0
  1018.             dc.w                $AAA3
  1019.         EndM
  1020.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1021.         IMPORT_CFM_FUNCTION FindCodec
  1022.     ENDIF
  1023.  
  1024. ;
  1025. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  1026. ;
  1027.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1028.         Macro
  1029.         _CompressPicture
  1030.             moveq               #36,D0
  1031.             dc.w                $AAA3
  1032.         EndM
  1033.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1034.         IMPORT_CFM_FUNCTION CompressPicture
  1035.     ENDIF
  1036.  
  1037. ;
  1038. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1039. ;
  1040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1041.         Macro
  1042.         _FCompressPicture
  1043.             moveq               #37,D0
  1044.             dc.w                $AAA3
  1045.         EndM
  1046.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1047.         IMPORT_CFM_FUNCTION FCompressPicture
  1048.     ENDIF
  1049.  
  1050. ;
  1051. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  1052. ;
  1053.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1054.         Macro
  1055.         _CompressPictureFile
  1056.             moveq               #38,D0
  1057.             dc.w                $AAA3
  1058.         EndM
  1059.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1060.         IMPORT_CFM_FUNCTION CompressPictureFile
  1061.     ENDIF
  1062.  
  1063. ;
  1064. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1065. ;
  1066.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1067.         Macro
  1068.         _FCompressPictureFile
  1069.             moveq               #39,D0
  1070.             dc.w                $AAA3
  1071.         EndM
  1072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1073.         IMPORT_CFM_FUNCTION FCompressPictureFile
  1074.     ENDIF
  1075.  
  1076. ;
  1077. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  1078. ;
  1079.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1080.         Macro
  1081.         _GetPictureFileHeader
  1082.             moveq               #40,D0
  1083.             dc.w                $AAA3
  1084.         EndM
  1085.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1086.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1087.     ENDIF
  1088.  
  1089. ;
  1090. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1091. ;
  1092.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1093.         Macro
  1094.         _DrawPictureFile
  1095.             moveq               #41,D0
  1096.             dc.w                $AAA3
  1097.         EndM
  1098.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1099.         IMPORT_CFM_FUNCTION DrawPictureFile
  1100.     ENDIF
  1101.  
  1102. ;
  1103. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1104. ;
  1105.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1106.         Macro
  1107.         _DrawTrimmedPicture
  1108.             moveq               #46,D0
  1109.             dc.w                $AAA3
  1110.         EndM
  1111.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1112.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1113.     ENDIF
  1114.  
  1115. ;
  1116. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1117. ;
  1118.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1119.         Macro
  1120.         _DrawTrimmedPictureFile
  1121.             moveq               #47,D0
  1122.             dc.w                $AAA3
  1123.         EndM
  1124.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1125.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1126.     ENDIF
  1127.  
  1128. ;
  1129. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1130. ;
  1131.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1132.         Macro
  1133.         _MakeThumbnailFromPicture
  1134.             moveq               #42,D0
  1135.             dc.w                $AAA3
  1136.         EndM
  1137.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1138.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1139.     ENDIF
  1140.  
  1141. ;
  1142. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1143. ;
  1144.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1145.         Macro
  1146.         _MakeThumbnailFromPictureFile
  1147.             moveq               #43,D0
  1148.             dc.w                $AAA3
  1149.         EndM
  1150.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1151.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1152.     ENDIF
  1153.  
  1154. ;
  1155. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1156. ;
  1157.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1158.         Macro
  1159.         _MakeThumbnailFromPixMap
  1160.             moveq               #44,D0
  1161.             dc.w                $AAA3
  1162.         EndM
  1163.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1164.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1165.     ENDIF
  1166.  
  1167. ;
  1168. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1169. ;
  1170.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1171.         Macro
  1172.         _TrimImage
  1173.             moveq               #45,D0
  1174.             dc.w                $AAA3
  1175.         EndM
  1176.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1177.         IMPORT_CFM_FUNCTION TrimImage
  1178.     ENDIF
  1179.  
  1180. ;
  1181. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1182. ;
  1183.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1184.         Macro
  1185.         _ConvertImage
  1186.             moveq               #48,D0
  1187.             dc.w                $AAA3
  1188.         EndM
  1189.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1190.         IMPORT_CFM_FUNCTION ConvertImage
  1191.     ENDIF
  1192.  
  1193. ;
  1194. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1195. ;
  1196.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1197.         Macro
  1198.         _GetCompressedPixMapInfo
  1199.             moveq               #55,D0
  1200.             dc.w                $AAA3
  1201.         EndM
  1202.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1203.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1204.     ENDIF
  1205.  
  1206. ;
  1207. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1208. ;
  1209.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1210.         Macro
  1211.         _SetCompressedPixMapInfo
  1212.             moveq               #56,D0
  1213.             dc.w                $AAA3
  1214.         EndM
  1215.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1216.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1217.     ENDIF
  1218.  
  1219. ;
  1220. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1221. ;
  1222.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1223.         Macro
  1224.         _StdPix
  1225.             moveq               #12,D0
  1226.             dc.w                $AAA3
  1227.         EndM
  1228.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1229.         IMPORT_CFM_FUNCTION StdPix
  1230.     ENDIF
  1231.  
  1232. ;
  1233. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1234. ;
  1235.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1236.         Macro
  1237.         _TransformRgn
  1238.             moveq               #57,D0
  1239.             dc.w                $AAA3
  1240.         EndM
  1241.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1242.         IMPORT_CFM_FUNCTION TransformRgn
  1243.     ENDIF
  1244.  
  1245.  
  1246. ; ***********
  1247. ;    preview stuff
  1248. ;**********
  1249.  
  1250. ;
  1251. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1252. ;
  1253.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1254.         Macro
  1255.         _SFGetFilePreview
  1256.             moveq               #65,D0
  1257.             dc.w                $AAA3
  1258.         EndM
  1259.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1260.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1261.     ENDIF
  1262.  
  1263. ;
  1264. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1265. ;
  1266.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1267.         Macro
  1268.         _SFPGetFilePreview
  1269.             moveq               #66,D0
  1270.             dc.w                $AAA3
  1271.         EndM
  1272.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1273.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1274.     ENDIF
  1275.  
  1276. ;
  1277. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1278. ;
  1279.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1280.         Macro
  1281.         _StandardGetFilePreview
  1282.             moveq               #67,D0
  1283.             dc.w                $AAA3
  1284.         EndM
  1285.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1286.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1287.     ENDIF
  1288.  
  1289. ;
  1290. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1291. ;
  1292.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1293.         Macro
  1294.         _CustomGetFilePreview
  1295.             moveq               #68,D0
  1296.             dc.w                $AAA3
  1297.         EndM
  1298.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1299.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1300.     ENDIF
  1301.  
  1302. ;
  1303. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1304. ;
  1305.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1306.         Macro
  1307.         _MakeFilePreview
  1308.             moveq               #69,D0
  1309.             dc.w                $AAA3
  1310.         EndM
  1311.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1312.         IMPORT_CFM_FUNCTION MakeFilePreview
  1313.     ENDIF
  1314.  
  1315. ;
  1316. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1317. ;
  1318.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1319.         Macro
  1320.         _AddFilePreview
  1321.             moveq               #70,D0
  1322.             dc.w                $AAA3
  1323.         EndM
  1324.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1325.         IMPORT_CFM_FUNCTION AddFilePreview
  1326.     ENDIF
  1327.  
  1328.  
  1329. sfpItemPreviewAreaUser            EQU        11
  1330. sfpItemPreviewStaticText        EQU        12
  1331. sfpItemPreviewDividerUser        EQU        13
  1332. sfpItemCreatePreviewButton        EQU        14
  1333. sfpItemShowPreviewButton        EQU        15
  1334. PreviewResourceRecord    RECORD 0
  1335. modDate                     ds.l    1                ; offset: $0 (0)
  1336. version                     ds.w    1                ; offset: $4 (4)
  1337. resType                     ds.l    1                ; offset: $6 (6)
  1338. resID                     ds.w    1                ; offset: $A (10)
  1339. sizeof                     EQU *                    ; size:   $C (12)
  1340.                         ENDR
  1341. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1342.  
  1343. ; typedef PreviewResourcePtr *            PreviewResource
  1344.  
  1345. ;
  1346. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1347. ;
  1348.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1349.         Macro
  1350.         _AlignScreenRect
  1351.             move.l              #$0008004C,D0
  1352.             dc.w                $AAA3
  1353.         EndM
  1354.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1355.         IMPORT_CFM_FUNCTION AlignScreenRect
  1356.     ENDIF
  1357.  
  1358. ;
  1359. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1360. ;
  1361.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1362.         Macro
  1363.         _AlignWindow
  1364.             move.l              #$000E004D,D0
  1365.             dc.w                $AAA3
  1366.         EndM
  1367.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1368.         IMPORT_CFM_FUNCTION AlignWindow
  1369.     ENDIF
  1370.  
  1371. ;
  1372. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1373. ;
  1374.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1375.         Macro
  1376.         _DragAlignedWindow
  1377.             move.l              #$0014004E,D0
  1378.             dc.w                $AAA3
  1379.         EndM
  1380.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1381.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1382.     ENDIF
  1383.  
  1384. ;
  1385. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1386. ;
  1387.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1388.         Macro
  1389.         _DragAlignedGrayRgn
  1390.             move.l              #$001E004F,D0
  1391.             dc.w                $AAA3
  1392.         EndM
  1393.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1394.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1395.     ENDIF
  1396.  
  1397. ;
  1398. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1399. ;
  1400.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1401.         Macro
  1402.         _SetCSequenceDataRateParams
  1403.             move.l              #$00080050,D0
  1404.             dc.w                $AAA3
  1405.         EndM
  1406.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1407.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1408.     ENDIF
  1409.  
  1410. ;
  1411. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1412. ;
  1413.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1414.         Macro
  1415.         _SetCSequenceFrameNumber
  1416.             move.l              #$00080051,D0
  1417.             dc.w                $AAA3
  1418.         EndM
  1419.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1420.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1421.     ENDIF
  1422.  
  1423. ;
  1424. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1425. ;
  1426.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1427.         Macro
  1428.         _SetCSequencePreferredPacketSize
  1429.             move.l              #$00080078,D0
  1430.             dc.w                $AAA3
  1431.         EndM
  1432.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1433.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1434.     ENDIF
  1435.  
  1436. ;
  1437. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1438. ;
  1439.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1440.         Macro
  1441.         _NewImageGWorld
  1442.             move.l              #$000C0052,D0
  1443.             dc.w                $AAA3
  1444.         EndM
  1445.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1446.         IMPORT_CFM_FUNCTION NewImageGWorld
  1447.     ENDIF
  1448.  
  1449. ;
  1450. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1451. ;
  1452.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1453.         Macro
  1454.         _GetCSequenceDataRateParams
  1455.             move.l              #$00080053,D0
  1456.             dc.w                $AAA3
  1457.         EndM
  1458.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1459.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1460.     ENDIF
  1461.  
  1462. ;
  1463. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1464. ;
  1465.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1466.         Macro
  1467.         _GetCSequenceFrameNumber
  1468.             move.l              #$00080054,D0
  1469.             dc.w                $AAA3
  1470.         EndM
  1471.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1472.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1473.     ENDIF
  1474.  
  1475. ;
  1476. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1477. ;
  1478.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1479.         Macro
  1480.         _GetBestDeviceRect
  1481.             move.l              #$00080055,D0
  1482.             dc.w                $AAA3
  1483.         EndM
  1484.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1485.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1486.     ENDIF
  1487.  
  1488. ;
  1489. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1490. ;
  1491.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1492.         Macro
  1493.         _SetSequenceProgressProc
  1494.             move.l              #$00080056,D0
  1495.             dc.w                $AAA3
  1496.         EndM
  1497.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1498.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1499.     ENDIF
  1500.  
  1501. ;
  1502. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1503. ;
  1504.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1505.         Macro
  1506.         _GDHasScale
  1507.             move.l              #$000A005A,D0
  1508.             dc.w                $AAA3
  1509.         EndM
  1510.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1511.         IMPORT_CFM_FUNCTION GDHasScale
  1512.     ENDIF
  1513.  
  1514. ;
  1515. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1516. ;
  1517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1518.         Macro
  1519.         _GDGetScale
  1520.             move.l              #$000C005B,D0
  1521.             dc.w                $AAA3
  1522.         EndM
  1523.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1524.         IMPORT_CFM_FUNCTION GDGetScale
  1525.     ENDIF
  1526.  
  1527. ;
  1528. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1529. ;
  1530.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1531.         Macro
  1532.         _GDSetScale
  1533.             move.l              #$000A005C,D0
  1534.             dc.w                $AAA3
  1535.         EndM
  1536.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1537.         IMPORT_CFM_FUNCTION GDSetScale
  1538.     ENDIF
  1539.  
  1540. ;
  1541. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1542. ;
  1543.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1544.         Macro
  1545.         _ICMShieldSequenceCursor
  1546.             move.l              #$00040062,D0
  1547.             dc.w                $AAA3
  1548.         EndM
  1549.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1550.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1551.     ENDIF
  1552.  
  1553. ;
  1554. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1555. ;
  1556.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1557.         Macro
  1558.         _ICMDecompressComplete
  1559.             move.l              #$000C0063,D0
  1560.             dc.w                $AAA3
  1561.         EndM
  1562.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1563.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1564.     ENDIF
  1565.  
  1566. ;
  1567. ; pascal OSErr ICMDecompressCompleteS(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1568. ;
  1569.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1570.         Macro
  1571.         _ICMDecompressCompleteS
  1572.             move.l              #$000C0082,D0
  1573.             dc.w                $AAA3
  1574.         EndM
  1575.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1576.         IMPORT_CFM_FUNCTION ICMDecompressCompleteS
  1577.     ENDIF
  1578.  
  1579. ;
  1580. ; pascal OSErr ICMSequenceLockBits(ImageSequence seqID, PixMapPtr dst, long flags)
  1581. ;
  1582.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1583.         Macro
  1584.         _ICMSequenceLockBits
  1585.             move.l              #$000C007C,D0
  1586.             dc.w                $AAA3
  1587.         EndM
  1588.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1589.         IMPORT_CFM_FUNCTION ICMSequenceLockBits
  1590.     ENDIF
  1591.  
  1592. ;
  1593. ; pascal OSErr ICMSequenceUnlockBits(ImageSequence seqID, long flags)
  1594. ;
  1595.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1596.         Macro
  1597.         _ICMSequenceUnlockBits
  1598.             move.l              #$0008007D,D0
  1599.             dc.w                $AAA3
  1600.         EndM
  1601.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1602.         IMPORT_CFM_FUNCTION ICMSequenceUnlockBits
  1603.     ENDIF
  1604.  
  1605. ICMPixelFormatInfo        RECORD 0
  1606. size                     ds.l    1                ; offset: $0 (0)
  1607. formatFlags                 ds.l    1                ; offset: $4 (4)
  1608. pixelSize                 ds.w    1                ; offset: $8 (8)
  1609. reserved0                 ds.w    1                ; offset: $A (10)
  1610. reserved2                 ds.l    1                ; offset: $C (12)
  1611. sizeof                     EQU *                    ; size:   $10 (16)
  1612.                         ENDR
  1613. ; typedef struct ICMPixelFormatInfo *    ICMPixelFormatInfoPtr
  1614.  
  1615. ;
  1616. ; pascal OSErr ICMGetPixelFormatInfo(OSType PixelFormat, ICMPixelFormatInfoPtr theInfo)
  1617. ;
  1618.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1619.         Macro
  1620.         _ICMGetPixelFormatInfo
  1621.             move.l              #$00080083,D0
  1622.             dc.w                $AAA3
  1623.         EndM
  1624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1625.         IMPORT_CFM_FUNCTION ICMGetPixelFormatInfo
  1626.     ENDIF
  1627.  
  1628.  
  1629. kICMGetChainUltimateParent        EQU        0
  1630. kICMGetChainParent                EQU        1
  1631. kICMGetChainChild                EQU        2
  1632. kICMGetChainUltimateChild        EQU        3
  1633. ;
  1634. ; pascal OSErr ICMSequenceGetChainMember(ImageSequence seqID, ImageSequence *retSeqID, long flags)
  1635. ;
  1636.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1637.         Macro
  1638.         _ICMSequenceGetChainMember
  1639.             move.l              #$000C007E,D0
  1640.             dc.w                $AAA3
  1641.         EndM
  1642.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1643.         IMPORT_CFM_FUNCTION ICMSequenceGetChainMember
  1644.     ENDIF
  1645.  
  1646. ;
  1647. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1648. ;
  1649.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1650.         Macro
  1651.         _SetDSequenceTimeCode
  1652.             move.l              #$000C0064,D0
  1653.             dc.w                $AAA3
  1654.         EndM
  1655.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1656.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1657.     ENDIF
  1658.  
  1659. ;
  1660. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1661. ;
  1662.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1663.         Macro
  1664.         _CDSequenceNewMemory
  1665.             move.l              #$00180066,D0
  1666.             dc.w                $AAA3
  1667.         EndM
  1668.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1669.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1670.     ENDIF
  1671.  
  1672. ;
  1673. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1674. ;
  1675.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1676.         Macro
  1677.         _CDSequenceDisposeMemory
  1678.             move.l              #$00080067,D0
  1679.             dc.w                $AAA3
  1680.         EndM
  1681.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1682.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1683.     ENDIF
  1684.  
  1685. ;
  1686. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1687. ;
  1688.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1689.         Macro
  1690.         _CDSequenceNewDataSource
  1691.             move.l              #$001C0068,D0
  1692.             dc.w                $AAA3
  1693.         EndM
  1694.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1695.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1696.     ENDIF
  1697.  
  1698. ;
  1699. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1700. ;
  1701.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1702.         Macro
  1703.         _CDSequenceDisposeDataSource
  1704.             move.l              #$00040069,D0
  1705.             dc.w                $AAA3
  1706.         EndM
  1707.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1708.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1709.     ENDIF
  1710.  
  1711. ;
  1712. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1713. ;
  1714.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1715.         Macro
  1716.         _CDSequenceSetSourceData
  1717.             move.l              #$000C006A,D0
  1718.             dc.w                $AAA3
  1719.         EndM
  1720.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1721.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1722.     ENDIF
  1723.  
  1724. ;
  1725. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1726. ;
  1727.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1728.         Macro
  1729.         _CDSequenceChangedSourceData
  1730.             move.l              #$0004006B,D0
  1731.             dc.w                $AAA3
  1732.         EndM
  1733.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1734.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1735.     ENDIF
  1736.  
  1737. ;
  1738. ; pascal OSErr CDSequenceSetSourceDataQueue(ImageSequenceDataSource sourceID, QHdrPtr dataQueue)
  1739. ;
  1740.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1741.         Macro
  1742.         _CDSequenceSetSourceDataQueue
  1743.             move.l              #$0008007B,D0
  1744.             dc.w                $AAA3
  1745.         EndM
  1746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1747.         IMPORT_CFM_FUNCTION CDSequenceSetSourceDataQueue
  1748.     ENDIF
  1749.  
  1750. ;
  1751. ; pascal OSErr CDSequenceGetDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber)
  1752. ;
  1753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1754.         Macro
  1755.         _CDSequenceGetDataSource
  1756.             move.l              #$0010007F,D0
  1757.             dc.w                $AAA3
  1758.         EndM
  1759.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1760.         IMPORT_CFM_FUNCTION CDSequenceGetDataSource
  1761.     ENDIF
  1762.  
  1763. ;
  1764. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1765. ;
  1766.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1767.         Macro
  1768.         _PtInDSequenceData
  1769.             move.l              #$0014006C,D0
  1770.             dc.w                $AAA3
  1771.         EndM
  1772.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1773.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1774.     ENDIF
  1775.  
  1776. ;
  1777. ; pascal OSErr HitTestDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, long *hit, long hitFlags)
  1778. ;
  1779.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1780.         Macro
  1781.         _HitTestDSequenceData
  1782.             move.l              #$00060087,D0
  1783.             dc.w                $AAA3
  1784.         EndM
  1785.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1786.         IMPORT_CFM_FUNCTION HitTestDSequenceData
  1787.     ENDIF
  1788.  
  1789. ;
  1790. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1791. ;
  1792.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1793.         Macro
  1794.         _GetGraphicsImporterForFile
  1795.             move.l              #$0008006E,D0
  1796.             dc.w                $AAA3
  1797.         EndM
  1798.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1799.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1800.     ENDIF
  1801.  
  1802. ;
  1803. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1804. ;
  1805.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1806.         Macro
  1807.         _GetGraphicsImporterForDataRef
  1808.             move.l              #$000C0077,D0
  1809.             dc.w                $AAA3
  1810.         EndM
  1811.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1812.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1813.     ENDIF
  1814.  
  1815.  
  1816. kDontUseValidateToFindGraphicsImporter EQU $00000001
  1817. ;
  1818. ; pascal OSErr GetGraphicsImporterForFileWithFlags(const FSSpec *theFile, ComponentInstance *gi, long flags)
  1819. ;
  1820.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1821.         Macro
  1822.         _GetGraphicsImporterForFileWithFlags
  1823.             move.l              #$000C0084,D0
  1824.             dc.w                $AAA3
  1825.         EndM
  1826.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1827.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFileWithFlags
  1828.     ENDIF
  1829.  
  1830. ;
  1831. ; pascal OSErr GetGraphicsImporterForDataRefWithFlags(Handle dataRef, OSType dataRefType, ComponentInstance *gi, long flags)
  1832. ;
  1833.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1834.         Macro
  1835.         _GetGraphicsImporterForDataRefWithFlags
  1836.             move.l              #$00100085,D0
  1837.             dc.w                $AAA3
  1838.         EndM
  1839.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1840.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRefWithFlags
  1841.     ENDIF
  1842.  
  1843. ;
  1844. ; pascal OSErr QTGetFileNameExtension(ConstStrFileNameParam fileName, OSType fileType, OSType *extension)
  1845. ;
  1846.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1847.         Macro
  1848.         _QTGetFileNameExtension
  1849.             move.l              #$000C0061,D0
  1850.             dc.w                $AAA3
  1851.         EndM
  1852.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1853.         IMPORT_CFM_FUNCTION QTGetFileNameExtension
  1854.     ENDIF
  1855.  
  1856. ;
  1857. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1858. ;
  1859.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1860.         Macro
  1861.         _ImageTranscodeSequenceBegin
  1862.             move.l              #$0018006F,D0
  1863.             dc.w                $AAA3
  1864.         EndM
  1865.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1866.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1867.     ENDIF
  1868.  
  1869. ;
  1870. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1871. ;
  1872.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1873.         Macro
  1874.         _ImageTranscodeSequenceEnd
  1875.             move.l              #$00040070,D0
  1876.             dc.w                $AAA3
  1877.         EndM
  1878.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1879.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1880.     ENDIF
  1881.  
  1882. ;
  1883. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1884. ;
  1885.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1886.         Macro
  1887.         _ImageTranscodeFrame
  1888.             move.l              #$00140071,D0
  1889.             dc.w                $AAA3
  1890.         EndM
  1891.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1892.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1893.     ENDIF
  1894.  
  1895. ;
  1896. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1897. ;
  1898.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1899.         Macro
  1900.         _ImageTranscodeDisposeFrameData
  1901.             move.l              #$00080072,D0
  1902.             dc.w                $AAA3
  1903.         EndM
  1904.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1905.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1906.     ENDIF
  1907.  
  1908. ;
  1909. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1910. ;
  1911.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1912.         Macro
  1913.         _CDSequenceInvalidate
  1914.             move.l              #$00080073,D0
  1915.             dc.w                $AAA3
  1916.         EndM
  1917.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1918.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1919.     ENDIF
  1920.  
  1921. ;
  1922. ; pascal OSErr CDSequenceSetTimeBase(ImageSequence seqID, void *base)
  1923. ;
  1924.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1925.         Macro
  1926.         _CDSequenceSetTimeBase
  1927.             move.l              #$00080079,D0
  1928.             dc.w                $AAA3
  1929.         EndM
  1930.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1931.         IMPORT_CFM_FUNCTION CDSequenceSetTimeBase
  1932.     ENDIF
  1933.  
  1934. ;
  1935. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1936. ;
  1937.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1938.         Macro
  1939.         _ImageFieldSequenceBegin
  1940.             move.l              #$0010006D,D0
  1941.             dc.w                $AAA3
  1942.         EndM
  1943.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1944.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1945.     ENDIF
  1946.  
  1947. ;
  1948. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1949. ;
  1950.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1951.         Macro
  1952.         _ImageFieldSequenceExtractCombine
  1953.             move.l              #$00200075,D0
  1954.             dc.w                $AAA3
  1955.         EndM
  1956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1957.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1958.     ENDIF
  1959.  
  1960. ;
  1961. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1962. ;
  1963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1964.         Macro
  1965.         _ImageFieldSequenceEnd
  1966.             move.l              #$00040076,D0
  1967.             dc.w                $AAA3
  1968.         EndM
  1969.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1970.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1971.     ENDIF
  1972.  
  1973.  
  1974. kICMTempThenAppMemory            EQU        $00001000
  1975. kICMAppThenTempMemory            EQU        $00002000
  1976. ;
  1977. ; pascal OSErr QTNewGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1978. ;
  1979.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1980.         Macro
  1981.         _QTNewGWorld
  1982.             move.l              #$00180080,D0
  1983.             dc.w                $AAA3
  1984.         EndM
  1985.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1986.         IMPORT_CFM_FUNCTION QTNewGWorld
  1987.     ENDIF
  1988.  
  1989. ;
  1990. ; pascal GWorldFlags QTUpdateGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1991. ;
  1992.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1993.         Macro
  1994.         _QTUpdateGWorld
  1995.             move.l              #$00180081,D0
  1996.             dc.w                $AAA3
  1997.         EndM
  1998.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1999.         IMPORT_CFM_FUNCTION QTUpdateGWorld
  2000.     ENDIF
  2001.  
  2002. ;
  2003. ; pascal OSErr MakeImageDescriptionForPixMap(PixMapHandle pixmap, ImageDescriptionHandle *idh)
  2004. ;
  2005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2006.         Macro
  2007.         _MakeImageDescriptionForPixMap
  2008.             move.l              #$0008007A,D0
  2009.             dc.w                $AAA3
  2010.         EndM
  2011.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2012.         IMPORT_CFM_FUNCTION MakeImageDescriptionForPixMap
  2013.     ENDIF
  2014.  
  2015. ;
  2016. ; pascal short QTGetPixelSize(OSType PixelFormat)
  2017. ;
  2018.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2019.         Macro
  2020.         _QTGetPixelSize
  2021.             move.l              #$00040086,D0
  2022.             dc.w                $AAA3
  2023.         EndM
  2024.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2025.         IMPORT_CFM_FUNCTION QTGetPixelSize
  2026.     ENDIF
  2027.  
  2028.  
  2029.  
  2030.  
  2031. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  2032. translateMatrixType                EQU        $01                    ; result if matrix translates 
  2033. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  2034. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  2035. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  2036. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  2037. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  2038. ; typedef unsigned short                 MatrixFlags
  2039.  
  2040. ;
  2041. ; pascal short GetMatrixType(const MatrixRecord *m)
  2042. ;
  2043.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2044.         Macro
  2045.         _GetMatrixType
  2046.             moveq               #20,D0
  2047.             dc.w                $ABC2
  2048.         EndM
  2049.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2050.         IMPORT_CFM_FUNCTION GetMatrixType
  2051.     ENDIF
  2052.  
  2053. ;
  2054. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  2055. ;
  2056.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2057.         Macro
  2058.         _CopyMatrix
  2059.             moveq               #32,D0
  2060.             dc.w                $ABC2
  2061.         EndM
  2062.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2063.         IMPORT_CFM_FUNCTION CopyMatrix
  2064.     ENDIF
  2065.  
  2066. ;
  2067. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  2068. ;
  2069.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2070.         Macro
  2071.         _EqualMatrix
  2072.             moveq               #33,D0
  2073.             dc.w                $ABC2
  2074.         EndM
  2075.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2076.         IMPORT_CFM_FUNCTION EqualMatrix
  2077.     ENDIF
  2078.  
  2079. ;
  2080. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  2081. ;
  2082.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2083.         Macro
  2084.         _SetIdentityMatrix
  2085.             moveq               #21,D0
  2086.             dc.w                $ABC2
  2087.         EndM
  2088.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2089.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  2090.     ENDIF
  2091.  
  2092. ;
  2093. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  2094. ;
  2095.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2096.         Macro
  2097.         _TranslateMatrix
  2098.             moveq               #25,D0
  2099.             dc.w                $ABC2
  2100.         EndM
  2101.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2102.         IMPORT_CFM_FUNCTION TranslateMatrix
  2103.     ENDIF
  2104.  
  2105. ;
  2106. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  2107. ;
  2108.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2109.         Macro
  2110.         _RotateMatrix
  2111.             moveq               #22,D0
  2112.             dc.w                $ABC2
  2113.         EndM
  2114.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2115.         IMPORT_CFM_FUNCTION RotateMatrix
  2116.     ENDIF
  2117.  
  2118. ;
  2119. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  2120. ;
  2121.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2122.         Macro
  2123.         _ScaleMatrix
  2124.             moveq               #23,D0
  2125.             dc.w                $ABC2
  2126.         EndM
  2127.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2128.         IMPORT_CFM_FUNCTION ScaleMatrix
  2129.     ENDIF
  2130.  
  2131. ;
  2132. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  2133. ;
  2134.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2135.         Macro
  2136.         _SkewMatrix
  2137.             moveq               #24,D0
  2138.             dc.w                $ABC2
  2139.         EndM
  2140.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2141.         IMPORT_CFM_FUNCTION SkewMatrix
  2142.     ENDIF
  2143.  
  2144. ;
  2145. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  2146. ;
  2147.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2148.         Macro
  2149.         _TransformFixedPoints
  2150.             moveq               #34,D0
  2151.             dc.w                $ABC2
  2152.         EndM
  2153.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2154.         IMPORT_CFM_FUNCTION TransformFixedPoints
  2155.     ENDIF
  2156.  
  2157. ;
  2158. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  2159. ;
  2160.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2161.         Macro
  2162.         _TransformPoints
  2163.             moveq               #35,D0
  2164.             dc.w                $ABC2
  2165.         EndM
  2166.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2167.         IMPORT_CFM_FUNCTION TransformPoints
  2168.     ENDIF
  2169.  
  2170. ;
  2171. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  2172. ;
  2173.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2174.         Macro
  2175.         _TransformFixedRect
  2176.             moveq               #36,D0
  2177.             dc.w                $ABC2
  2178.         EndM
  2179.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2180.         IMPORT_CFM_FUNCTION TransformFixedRect
  2181.     ENDIF
  2182.  
  2183. ;
  2184. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  2185. ;
  2186.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2187.         Macro
  2188.         _TransformRect
  2189.             moveq               #37,D0
  2190.             dc.w                $ABC2
  2191.         EndM
  2192.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2193.         IMPORT_CFM_FUNCTION TransformRect
  2194.     ENDIF
  2195.  
  2196. ;
  2197. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  2198. ;
  2199.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2200.         Macro
  2201.         _InverseMatrix
  2202.             moveq               #28,D0
  2203.             dc.w                $ABC2
  2204.         EndM
  2205.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2206.         IMPORT_CFM_FUNCTION InverseMatrix
  2207.     ENDIF
  2208.  
  2209. ;
  2210. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  2211. ;
  2212.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2213.         Macro
  2214.         _ConcatMatrix
  2215.             moveq               #27,D0
  2216.             dc.w                $ABC2
  2217.         EndM
  2218.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2219.         IMPORT_CFM_FUNCTION ConcatMatrix
  2220.     ENDIF
  2221.  
  2222. ;
  2223. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  2224. ;
  2225.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2226.         Macro
  2227.         _RectMatrix
  2228.             moveq               #30,D0
  2229.             dc.w                $ABC2
  2230.         EndM
  2231.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2232.         IMPORT_CFM_FUNCTION RectMatrix
  2233.     ENDIF
  2234.  
  2235. ;
  2236. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  2237. ;
  2238.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2239.         Macro
  2240.         _MapMatrix
  2241.             moveq               #29,D0
  2242.             dc.w                $ABC2
  2243.         EndM
  2244.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2245.         IMPORT_CFM_FUNCTION MapMatrix
  2246.     ENDIF
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254. ;
  2255. ; pascal void CompAdd(wide *src, wide *dst)
  2256. ;
  2257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2258.         Macro
  2259.         _CompAdd
  2260.             moveq               #1,D0
  2261.             dc.w                $ABC2
  2262.         EndM
  2263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2264.         IMPORT_CFM_FUNCTION CompAdd
  2265.     ENDIF
  2266.  
  2267. ;
  2268. ; pascal void CompSub(wide *src, wide *dst)
  2269. ;
  2270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2271.         Macro
  2272.         _CompSub
  2273.             moveq               #2,D0
  2274.             dc.w                $ABC2
  2275.         EndM
  2276.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2277.         IMPORT_CFM_FUNCTION CompSub
  2278.     ENDIF
  2279.  
  2280. ;
  2281. ; pascal void CompNeg(wide *dst)
  2282. ;
  2283.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2284.         Macro
  2285.         _CompNeg
  2286.             moveq               #3,D0
  2287.             dc.w                $ABC2
  2288.         EndM
  2289.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2290.         IMPORT_CFM_FUNCTION CompNeg
  2291.     ENDIF
  2292.  
  2293. ;
  2294. ; pascal void CompShift(wide *src, short shift)
  2295. ;
  2296.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2297.         Macro
  2298.         _CompShift
  2299.             moveq               #4,D0
  2300.             dc.w                $ABC2
  2301.         EndM
  2302.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2303.         IMPORT_CFM_FUNCTION CompShift
  2304.     ENDIF
  2305.  
  2306. ;
  2307. ; pascal void CompMul(long src1, long src2, wide *dst)
  2308. ;
  2309.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2310.         Macro
  2311.         _CompMul
  2312.             moveq               #5,D0
  2313.             dc.w                $ABC2
  2314.         EndM
  2315.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2316.         IMPORT_CFM_FUNCTION CompMul
  2317.     ENDIF
  2318.  
  2319. ;
  2320. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2321. ;
  2322.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2323.         Macro
  2324.         _CompDiv
  2325.             moveq               #6,D0
  2326.             dc.w                $ABC2
  2327.         EndM
  2328.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2329.         IMPORT_CFM_FUNCTION CompDiv
  2330.     ENDIF
  2331.  
  2332. ;
  2333. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2334. ;
  2335.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2336.         Macro
  2337.         _CompFixMul
  2338.             moveq               #7,D0
  2339.             dc.w                $ABC2
  2340.         EndM
  2341.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2342.         IMPORT_CFM_FUNCTION CompFixMul
  2343.     ENDIF
  2344.  
  2345. ;
  2346. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2347. ;
  2348.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2349.         Macro
  2350.         _CompMulDiv
  2351.             moveq               #8,D0
  2352.             dc.w                $ABC2
  2353.         EndM
  2354.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2355.         IMPORT_CFM_FUNCTION CompMulDiv
  2356.     ENDIF
  2357.  
  2358. ;
  2359. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2360. ;
  2361.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2362.         Macro
  2363.         _CompMulDivTrunc
  2364.             moveq               #12,D0
  2365.             dc.w                $ABC2
  2366.         EndM
  2367.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2368.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2369.     ENDIF
  2370.  
  2371. ;
  2372. ; pascal long CompCompare(wide *a, wide *minusb)
  2373. ;
  2374.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2375.         Macro
  2376.         _CompCompare
  2377.             moveq               #9,D0
  2378.             dc.w                $ABC2
  2379.         EndM
  2380.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2381.         IMPORT_CFM_FUNCTION CompCompare
  2382.     ENDIF
  2383.  
  2384. ;
  2385. ; pascal unsigned long CompSquareRoot(const wide *src)
  2386. ;
  2387.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2388.         Macro
  2389.         _CompSquareRoot
  2390.             moveq               #17,D0
  2391.             dc.w                $ABC2
  2392.         EndM
  2393.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2394.         IMPORT_CFM_FUNCTION CompSquareRoot
  2395.     ENDIF
  2396.  
  2397. ;
  2398. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2399. ;
  2400.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2401.         Macro
  2402.         _FixMulDiv
  2403.             moveq               #10,D0
  2404.             dc.w                $ABC2
  2405.         EndM
  2406.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2407.         IMPORT_CFM_FUNCTION FixMulDiv
  2408.     ENDIF
  2409.  
  2410. ;
  2411. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2412. ;
  2413.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2414.         Macro
  2415.         _UnsignedFixMulDiv
  2416.             moveq               #13,D0
  2417.             dc.w                $ABC2
  2418.         EndM
  2419.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2420.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2421.     ENDIF
  2422.  
  2423. ;
  2424. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2425. ;
  2426.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2427.         Macro
  2428.         _FracSinCos
  2429.             moveq               #11,D0
  2430.             dc.w                $ABC2
  2431.         EndM
  2432.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2433.         IMPORT_CFM_FUNCTION FracSinCos
  2434.     ENDIF
  2435.  
  2436. ;
  2437. ; pascal Fixed FixExp2(Fixed src)
  2438. ;
  2439.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2440.         Macro
  2441.         _FixExp2
  2442.             moveq               #14,D0
  2443.             dc.w                $ABC2
  2444.         EndM
  2445.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2446.         IMPORT_CFM_FUNCTION FixExp2
  2447.     ENDIF
  2448.  
  2449. ;
  2450. ; pascal Fixed FixLog2(Fixed src)
  2451. ;
  2452.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2453.         Macro
  2454.         _FixLog2
  2455.             moveq               #15,D0
  2456.             dc.w                $ABC2
  2457.         EndM
  2458.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2459.         IMPORT_CFM_FUNCTION FixLog2
  2460.     ENDIF
  2461.  
  2462. ;
  2463. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2464. ;
  2465.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2466.         Macro
  2467.         _FixPow
  2468.             moveq               #16,D0
  2469.             dc.w                $ABC2
  2470.         EndM
  2471.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2472.         IMPORT_CFM_FUNCTION FixPow
  2473.     ENDIF
  2474.  
  2475.  
  2476.  
  2477.  
  2478. ; typedef ComponentInstance             GraphicsImportComponent
  2479.  
  2480.  
  2481. GraphicsImporterComponentType    EQU        'grip'
  2482.  
  2483. graphicsImporterUsesImageDecompressor EQU $00800000
  2484.  
  2485. quickTimeImageFileImageDescriptionAtom EQU 'idsc'
  2486. quickTimeImageFileImageDataAtom    EQU        'idat'
  2487. quickTimeImageFileMetaDataAtom    EQU        'meta'
  2488.  
  2489. graphicsImporterDrawsAllPixels    EQU        0
  2490. graphicsImporterDoesntDrawAllPixels EQU    1
  2491. graphicsImporterDontKnowIfDrawAllPixels EQU 2
  2492.  
  2493. kGraphicsExportGroup            EQU        'expo'
  2494. kGraphicsExportFileType            EQU        'ftyp'
  2495. kGraphicsExportMIMEType            EQU        'mime'
  2496. kGraphicsExportExtension        EQU        'ext '
  2497. kGraphicsExportDescription        EQU        'desc'
  2498.  
  2499. ; * These are GraphicsImport procedures *
  2500. ;
  2501. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2502. ;
  2503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2504.         Macro
  2505.         _GraphicsImportSetDataReference
  2506.             move.l              #$00080001,-(sp)
  2507.             moveq               #0,D0
  2508.             dc.w                $A82A
  2509.         EndM
  2510.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2511.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2512.     ENDIF
  2513.  
  2514. ;
  2515. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2516. ;
  2517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2518.         Macro
  2519.         _GraphicsImportGetDataReference
  2520.             move.l              #$00080002,-(sp)
  2521.             moveq               #0,D0
  2522.             dc.w                $A82A
  2523.         EndM
  2524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2525.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2526.     ENDIF
  2527.  
  2528. ;
  2529. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2530. ;
  2531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2532.         Macro
  2533.         _GraphicsImportSetDataFile
  2534.             move.l              #$00040003,-(sp)
  2535.             moveq               #0,D0
  2536.             dc.w                $A82A
  2537.         EndM
  2538.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2539.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2540.     ENDIF
  2541.  
  2542. ;
  2543. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2544. ;
  2545.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2546.         Macro
  2547.         _GraphicsImportGetDataFile
  2548.             move.l              #$00040004,-(sp)
  2549.             moveq               #0,D0
  2550.             dc.w                $A82A
  2551.         EndM
  2552.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2553.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2554.     ENDIF
  2555.  
  2556. ;
  2557. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2558. ;
  2559.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2560.         Macro
  2561.         _GraphicsImportSetDataHandle
  2562.             move.l              #$00040005,-(sp)
  2563.             moveq               #0,D0
  2564.             dc.w                $A82A
  2565.         EndM
  2566.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2567.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2568.     ENDIF
  2569.  
  2570. ;
  2571. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2572. ;
  2573.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2574.         Macro
  2575.         _GraphicsImportGetDataHandle
  2576.             move.l              #$00040006,-(sp)
  2577.             moveq               #0,D0
  2578.             dc.w                $A82A
  2579.         EndM
  2580.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2581.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2582.     ENDIF
  2583.  
  2584. ;
  2585. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2586. ;
  2587.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2588.         Macro
  2589.         _GraphicsImportGetImageDescription
  2590.             move.l              #$00040007,-(sp)
  2591.             moveq               #0,D0
  2592.             dc.w                $A82A
  2593.         EndM
  2594.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2595.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2596.     ENDIF
  2597.  
  2598. ;
  2599. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2600. ;
  2601.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2602.         Macro
  2603.         _GraphicsImportGetDataOffsetAndSize
  2604.             move.l              #$00080008,-(sp)
  2605.             moveq               #0,D0
  2606.             dc.w                $A82A
  2607.         EndM
  2608.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2609.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2610.     ENDIF
  2611.  
  2612. ;
  2613. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2614. ;
  2615.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2616.         Macro
  2617.         _GraphicsImportReadData
  2618.             move.l              #$000C0009,-(sp)
  2619.             moveq               #0,D0
  2620.             dc.w                $A82A
  2621.         EndM
  2622.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2623.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2624.     ENDIF
  2625.  
  2626. ;
  2627. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2628. ;
  2629.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2630.         Macro
  2631.         _GraphicsImportSetClip
  2632.             move.l              #$0004000A,-(sp)
  2633.             moveq               #0,D0
  2634.             dc.w                $A82A
  2635.         EndM
  2636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2637.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2638.     ENDIF
  2639.  
  2640. ;
  2641. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2642. ;
  2643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2644.         Macro
  2645.         _GraphicsImportGetClip
  2646.             move.l              #$0004000B,-(sp)
  2647.             moveq               #0,D0
  2648.             dc.w                $A82A
  2649.         EndM
  2650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2651.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2652.     ENDIF
  2653.  
  2654. ;
  2655. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2656. ;
  2657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2658.         Macro
  2659.         _GraphicsImportSetSourceRect
  2660.             move.l              #$0004000C,-(sp)
  2661.             moveq               #0,D0
  2662.             dc.w                $A82A
  2663.         EndM
  2664.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2665.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2666.     ENDIF
  2667.  
  2668. ;
  2669. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2670. ;
  2671.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2672.         Macro
  2673.         _GraphicsImportGetSourceRect
  2674.             move.l              #$0004000D,-(sp)
  2675.             moveq               #0,D0
  2676.             dc.w                $A82A
  2677.         EndM
  2678.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2679.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2680.     ENDIF
  2681.  
  2682. ;
  2683. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2684. ;
  2685.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2686.         Macro
  2687.         _GraphicsImportGetNaturalBounds
  2688.             move.l              #$0004000E,-(sp)
  2689.             moveq               #0,D0
  2690.             dc.w                $A82A
  2691.         EndM
  2692.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2693.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2694.     ENDIF
  2695.  
  2696. ;
  2697. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2698. ;
  2699.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2700.         Macro
  2701.         _GraphicsImportDraw
  2702.             move.l              #$0000000F,-(sp)
  2703.             moveq               #0,D0
  2704.             dc.w                $A82A
  2705.         EndM
  2706.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2707.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2708.     ENDIF
  2709.  
  2710. ;
  2711. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2712. ;
  2713.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2714.         Macro
  2715.         _GraphicsImportSetGWorld
  2716.             move.l              #$00080010,-(sp)
  2717.             moveq               #0,D0
  2718.             dc.w                $A82A
  2719.         EndM
  2720.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2721.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2722.     ENDIF
  2723.  
  2724. ;
  2725. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2726. ;
  2727.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2728.         Macro
  2729.         _GraphicsImportGetGWorld
  2730.             move.l              #$00080011,-(sp)
  2731.             moveq               #0,D0
  2732.             dc.w                $A82A
  2733.         EndM
  2734.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2735.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2736.     ENDIF
  2737.  
  2738. ;
  2739. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2740. ;
  2741.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2742.         Macro
  2743.         _GraphicsImportSetMatrix
  2744.             move.l              #$00040012,-(sp)
  2745.             moveq               #0,D0
  2746.             dc.w                $A82A
  2747.         EndM
  2748.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2749.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2750.     ENDIF
  2751.  
  2752. ;
  2753. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2754. ;
  2755.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2756.         Macro
  2757.         _GraphicsImportGetMatrix
  2758.             move.l              #$00040013,-(sp)
  2759.             moveq               #0,D0
  2760.             dc.w                $A82A
  2761.         EndM
  2762.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2763.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2764.     ENDIF
  2765.  
  2766. ;
  2767. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2768. ;
  2769.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2770.         Macro
  2771.         _GraphicsImportSetBoundsRect
  2772.             move.l              #$00040014,-(sp)
  2773.             moveq               #0,D0
  2774.             dc.w                $A82A
  2775.         EndM
  2776.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2777.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2778.     ENDIF
  2779.  
  2780. ;
  2781. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2782. ;
  2783.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2784.         Macro
  2785.         _GraphicsImportGetBoundsRect
  2786.             move.l              #$00040015,-(sp)
  2787.             moveq               #0,D0
  2788.             dc.w                $A82A
  2789.         EndM
  2790.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2791.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2792.     ENDIF
  2793.  
  2794. ;
  2795. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2796. ;
  2797.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2798.         Macro
  2799.         _GraphicsImportSaveAsPicture
  2800.             move.l              #$00060016,-(sp)
  2801.             moveq               #0,D0
  2802.             dc.w                $A82A
  2803.         EndM
  2804.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2805.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2806.     ENDIF
  2807.  
  2808. ;
  2809. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2810. ;
  2811.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2812.         Macro
  2813.         _GraphicsImportSetGraphicsMode
  2814.             move.l              #$00080017,-(sp)
  2815.             moveq               #0,D0
  2816.             dc.w                $A82A
  2817.         EndM
  2818.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2819.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2820.     ENDIF
  2821.  
  2822. ;
  2823. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2824. ;
  2825.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2826.         Macro
  2827.         _GraphicsImportGetGraphicsMode
  2828.             move.l              #$00080018,-(sp)
  2829.             moveq               #0,D0
  2830.             dc.w                $A82A
  2831.         EndM
  2832.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2833.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2834.     ENDIF
  2835.  
  2836. ;
  2837. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2838. ;
  2839.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2840.         Macro
  2841.         _GraphicsImportSetQuality
  2842.             move.l              #$00040019,-(sp)
  2843.             moveq               #0,D0
  2844.             dc.w                $A82A
  2845.         EndM
  2846.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2847.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2848.     ENDIF
  2849.  
  2850. ;
  2851. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2852. ;
  2853.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2854.         Macro
  2855.         _GraphicsImportGetQuality
  2856.             move.l              #$0004001A,-(sp)
  2857.             moveq               #0,D0
  2858.             dc.w                $A82A
  2859.         EndM
  2860.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2861.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2862.     ENDIF
  2863.  
  2864. ;
  2865. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2866. ;
  2867.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2868.         Macro
  2869.         _GraphicsImportSaveAsQuickTimeImageFile
  2870.             move.l              #$0006001B,-(sp)
  2871.             moveq               #0,D0
  2872.             dc.w                $A82A
  2873.         EndM
  2874.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2875.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2876.     ENDIF
  2877.  
  2878. ;
  2879. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2880. ;
  2881.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2882.         Macro
  2883.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2884.             move.l              #$0008001C,-(sp)
  2885.             moveq               #0,D0
  2886.             dc.w                $A82A
  2887.         EndM
  2888.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2889.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2890.     ENDIF
  2891.  
  2892. ;
  2893. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2894. ;
  2895.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2896.         Macro
  2897.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2898.             move.l              #$0008001D,-(sp)
  2899.             moveq               #0,D0
  2900.             dc.w                $A82A
  2901.         EndM
  2902.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2903.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2904.     ENDIF
  2905.  
  2906. ;
  2907. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2908. ;
  2909.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2910.         Macro
  2911.         _GraphicsImportGetAliasedDataReference
  2912.             move.l              #$0008001E,-(sp)
  2913.             moveq               #0,D0
  2914.             dc.w                $A82A
  2915.         EndM
  2916.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2917.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2918.     ENDIF
  2919.  
  2920. ;
  2921. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2922. ;
  2923.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2924.         Macro
  2925.         _GraphicsImportValidate
  2926.             move.l              #$0004001F,-(sp)
  2927.             moveq               #0,D0
  2928.             dc.w                $A82A
  2929.         EndM
  2930.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2931.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2932.     ENDIF
  2933.  
  2934. ;
  2935. ; pascal ComponentResult GraphicsImportGetMetaData(GraphicsImportComponent ci, void *userData)
  2936. ;
  2937.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2938.         Macro
  2939.         _GraphicsImportGetMetaData
  2940.             move.l              #$00040020,-(sp)
  2941.             moveq               #0,D0
  2942.             dc.w                $A82A
  2943.         EndM
  2944.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2945.         IMPORT_CFM_FUNCTION GraphicsImportGetMetaData
  2946.     ENDIF
  2947.  
  2948. ;
  2949. ; pascal ComponentResult GraphicsImportGetMIMETypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  2950. ;
  2951.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2952.         Macro
  2953.         _GraphicsImportGetMIMETypeList
  2954.             move.l              #$00040021,-(sp)
  2955.             moveq               #0,D0
  2956.             dc.w                $A82A
  2957.         EndM
  2958.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2959.         IMPORT_CFM_FUNCTION GraphicsImportGetMIMETypeList
  2960.     ENDIF
  2961.  
  2962. ;
  2963. ; pascal ComponentResult GraphicsImportDoesDrawAllPixels(GraphicsImportComponent ci, short *drawsAllPixels)
  2964. ;
  2965.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2966.         Macro
  2967.         _GraphicsImportDoesDrawAllPixels
  2968.             move.l              #$00040022,-(sp)
  2969.             moveq               #0,D0
  2970.             dc.w                $A82A
  2971.         EndM
  2972.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2973.         IMPORT_CFM_FUNCTION GraphicsImportDoesDrawAllPixels
  2974.     ENDIF
  2975.  
  2976. ;
  2977. ; pascal ComponentResult GraphicsImportGetAsPicture(GraphicsImportComponent ci, PicHandle *picture)
  2978. ;
  2979.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2980.         Macro
  2981.         _GraphicsImportGetAsPicture
  2982.             move.l              #$00040023,-(sp)
  2983.             moveq               #0,D0
  2984.             dc.w                $A82A
  2985.         EndM
  2986.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2987.         IMPORT_CFM_FUNCTION GraphicsImportGetAsPicture
  2988.     ENDIF
  2989.  
  2990. ;
  2991. ; pascal ComponentResult GraphicsImportExportImageFile(GraphicsImportComponent ci, OSType fileType, OSType fileCreator, const FSSpec *fss, ScriptCode scriptTag)
  2992. ;
  2993.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2994.         Macro
  2995.         _GraphicsImportExportImageFile
  2996.             move.l              #$000E0024,-(sp)
  2997.             moveq               #0,D0
  2998.             dc.w                $A82A
  2999.         EndM
  3000.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3001.         IMPORT_CFM_FUNCTION GraphicsImportExportImageFile
  3002.     ENDIF
  3003.  
  3004. ;
  3005. ; pascal ComponentResult GraphicsImportGetExportImageTypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3006. ;
  3007.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3008.         Macro
  3009.         _GraphicsImportGetExportImageTypeList
  3010.             move.l              #$00040025,-(sp)
  3011.             moveq               #0,D0
  3012.             dc.w                $A82A
  3013.         EndM
  3014.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3015.         IMPORT_CFM_FUNCTION GraphicsImportGetExportImageTypeList
  3016.     ENDIF
  3017.  
  3018. ;
  3019. ; pascal ComponentResult GraphicsImportDoExportImageFileDialog(GraphicsImportComponent ci, const FSSpec *inDefaultSpec, StringPtr prompt, ModalFilterYDUPP filterProc, OSType *outExportedType, FSSpec *outExportedSpec, ScriptCode *outScriptTag)
  3020. ;
  3021.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3022.         Macro
  3023.         _GraphicsImportDoExportImageFileDialog
  3024.             move.l              #$00180026,-(sp)
  3025.             moveq               #0,D0
  3026.             dc.w                $A82A
  3027.         EndM
  3028.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3029.         IMPORT_CFM_FUNCTION GraphicsImportDoExportImageFileDialog
  3030.     ENDIF
  3031.  
  3032. ;
  3033. ; pascal ComponentResult GraphicsImportGetExportSettingsAsAtomContainer(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3034. ;
  3035.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3036.         Macro
  3037.         _GraphicsImportGetExportSettingsAsAtomContainer
  3038.             move.l              #$00040027,-(sp)
  3039.             moveq               #0,D0
  3040.             dc.w                $A82A
  3041.         EndM
  3042.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3043.         IMPORT_CFM_FUNCTION GraphicsImportGetExportSettingsAsAtomContainer
  3044.     ENDIF
  3045.  
  3046. ;
  3047. ; pascal ComponentResult GraphicsImportSetExportSettingsFromAtomContainer(GraphicsImportComponent ci, void *qtAtomContainer)
  3048. ;
  3049.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3050.         Macro
  3051.         _GraphicsImportSetExportSettingsFromAtomContainer
  3052.             move.l              #$00040028,-(sp)
  3053.             moveq               #0,D0
  3054.             dc.w                $A82A
  3055.         EndM
  3056.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3057.         IMPORT_CFM_FUNCTION GraphicsImportSetExportSettingsFromAtomContainer
  3058.     ENDIF
  3059.  
  3060. ;
  3061. ; pascal ComponentResult GraphicsImportSetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3062. ;
  3063.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3064.         Macro
  3065.         _GraphicsImportSetProgressProc
  3066.             move.l              #$00040029,-(sp)
  3067.             moveq               #0,D0
  3068.             dc.w                $A82A
  3069.         EndM
  3070.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3071.         IMPORT_CFM_FUNCTION GraphicsImportSetProgressProc
  3072.     ENDIF
  3073.  
  3074. ;
  3075. ; pascal ComponentResult GraphicsImportGetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3076. ;
  3077.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3078.         Macro
  3079.         _GraphicsImportGetProgressProc
  3080.             move.l              #$0004002A,-(sp)
  3081.             moveq               #0,D0
  3082.             dc.w                $A82A
  3083.         EndM
  3084.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3085.         IMPORT_CFM_FUNCTION GraphicsImportGetProgressProc
  3086.     ENDIF
  3087.  
  3088.  
  3089. ; typedef ComponentInstance             ImageTranscoderComponent
  3090.  
  3091.  
  3092. ImageTranscodererComponentType    EQU        'imtc'
  3093.  
  3094. ; * These are ImageTranscoder procedures *
  3095. ;
  3096. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  3097. ;
  3098.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3099.         Macro
  3100.         _ImageTranscoderBeginSequence
  3101.             move.l              #$00100001,-(sp)
  3102.             moveq               #0,D0
  3103.             dc.w                $A82A
  3104.         EndM
  3105.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3106.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  3107.     ENDIF
  3108.  
  3109. ;
  3110. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  3111. ;
  3112.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3113.         Macro
  3114.         _ImageTranscoderConvert
  3115.             move.l              #$00100002,-(sp)
  3116.             moveq               #0,D0
  3117.             dc.w                $A82A
  3118.         EndM
  3119.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3120.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  3121.     ENDIF
  3122.  
  3123. ;
  3124. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  3125. ;
  3126.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3127.         Macro
  3128.         _ImageTranscoderDisposeData
  3129.             move.l              #$00040003,-(sp)
  3130.             moveq               #0,D0
  3131.             dc.w                $A82A
  3132.         EndM
  3133.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3134.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  3135.     ENDIF
  3136.  
  3137. ;
  3138. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  3139. ;
  3140.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3141.         Macro
  3142.         _ImageTranscoderEndSequence
  3143.             move.l              #$00000004,-(sp)
  3144.             moveq               #0,D0
  3145.             dc.w                $A82A
  3146.         EndM
  3147.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3148.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  3149.     ENDIF
  3150.  
  3151. ;  UPP call backs 
  3152.     ENDIF ; __IMAGECOMPRESSION__ 
  3153.  
  3154.